import { Badge } from '@theme';

# supports

- **Type:** [Supports Types](#supports-types)
- **Optional:** `true`
- **Default:** `undefined`

This option is used to configure whether Rsdoctor enables support for certain detailed feature analysis capabilities, such as whether to enable compatibility with BannerPlugin.

## supportsTypes

```ts
type ISupport = {
  banner?: boolean;
  parseBundle?: boolean;
  generateTileGraph?: boolean;
};
```

## banner

:::danger
`supports.banner` option is only used for debugging, do not use it in production.
:::

- **Type:** `boolean`
- **Default:** `true`

If `supports.banner` is enabled, Rsdoctor will enable compatibility logic for BannerPlugin. For more details, please refer to: [Supports BannerPlugin](../../guide/usage/bundle-size#supports-bannerplugin)

## ~~generateTileGraph [**Deprecated**]~~

<Badge text="Deprecated" type="warning" />

Rsdoctor supports generating Tree Map graphs by default, so this option does not need to be configured.

## parseBundle

- **Type:** `boolean`
- **Default:** `true`

In some large repositories, the execution time of parsing the bundle is too long. Since the Parse Bundle analysis utilizes AST parsing and processing, it can be time-consuming when there are a large number of output files.
If this capability is not necessary, it can be selectively disabled using the supports.parseBundle configuration. An example is shown below:

```ts
chain.plugin('Rsdoctor').use(RsdoctorRspackPlugin, [
  {
    supports: {
      parseBundle: false,
    },
  },
]);
```

Disabling the Parse Bundle capability will only affect the visibility of the Bundled Size and Bundled Code of the modules in the bundle:

<div style={{ display: 'flex' }}>
  <img
    src="https://assets.rspack.rs/others/assets/rsdoctor/bundled-size.jpeg"
    height="300px"
    width="300px"
    style={{ margin: 'auto' }}
  />

  <img
    src="https://assets.rspack.rs/others/assets/rsdoctor/bundled-code.png"
    height="300px"
    width="400px"
    style={{ margin: 'auto' }}
  />
</div>
